#ifndef UUID_D4CAFE56AAE64EAD3ADC4FBA32B55A70
#define UUID_D4CAFE56AAE64EAD3ADC4FBA32B55A70

#include "gfx.h"

enum
{
	kbUnknown,
    kbEscape,
    kbRangeBegin = kbEscape,
	kbF1,
	kbF2,
	kbF3,
	kbF4,
	kbF5,
	kbF6,
	kbF7,
	kbF8,
	kbF9,
	kbF10,
	kbF11,
	kbF12,
	kb0,
	kb1,
	kb2,
	kb3,
	kb4,
	kb5,
	kb6,
	kb7,
	kb8,
	kb9,
	kbTab,
	kbReturn,
	kbSpace,
	kbLeftShift,
	kbRightShift,
	kbLeftControl,
	kbRightControl,
	kbLeftAlt,
	kbRightAlt,
	kbLeftMeta,
	kbRightMeta,
	kbBackspace,
	kbLeft,
	kbRight,
	kbUp,
	kbDown,
	kbHome,
	kbEnd,
	kbInsert,
	kbDelete,
	kbPageUp,
	kbPageDown,
	kbEnter,
	kbNumpad0,
	kbNumpad1,
	kbNumpad2,
	kbNumpad3,
	kbNumpad4,
	kbNumpad5,
	kbNumpad6,
	kbNumpad7,
	kbNumpad8,
	kbNumpad9,
	kbNumpadAdd,
	kbNumpadSubtract,
	kbNumpadMultiply,
	kbNumpadDivide,
	kbMinus,
	kbEquals,
	
	kbQ,
	kbW,
	kbE,
	kbR,
	kbT,
	kbY,
	kbU,
	kbI,
	kbO,
	kbP,
	kbLeftBracket,
	kbRightBracket,
	kbA,
	kbS,
	kbD,
	kbF,
	kbG,
	kbH,
	kbJ,
	kbK,
	kbL,
	kbSemicolon,
	kbApostrophe,
	kbGrave,    /* accent grave */
	kbBackslash,
	kbZ,
	kbX,
	kbC,
	kbV,
	kbB,
	kbN,
	kbM,
	
	kbRangeEnd = kbM,

    msRangeBegin,
    msLeft = msRangeBegin,
    msRight,
    msMiddle,
    msWheelUp,
    msWheelDown,
    msRangeEnd,
    
    gpRangeBegin,
    gpLeft = gpRangeBegin,
    gpRight,
    gpUp,
    gpDown,
    gpButton0,
    gpButton1,
    gpButton2,
    gpButton3,
    gpButton4,
    gpButton5,
    gpButton6,
    gpButton7,
    gpButton8,
    gpButton9,
    gpButton10,
    gpButton11,
    gpButton12,
    gpButton13,
    gpButton14,
    gpButton15,
    gpRangeEnd = gpButton15,
        
    kbNum = kbRangeEnd - kbRangeBegin + 1,
    msNum = msRangeEnd - msRangeBegin + 1,
    gpNum = gpRangeEnd - gpRangeBegin + 1,
    
    numButtons = gpRangeEnd,
	noButton = 0xffffffff
};

//void gfx_init_keymaps();

extern int const gfx_keys_to_native[kbRangeEnd + 1];
extern int gfx_native_to_keys[];

#endif // UUID_D4CAFE56AAE64EAD3ADC4FBA32B55A70
